/**
 * ____________________ *
 *  ____ ____ ____ _  _ *
 *  |___ [__] |--< |\/| *
 * ____________________ *
 *
 * THE CORM PROJECT
 *
 * This file may only be used in accordance with the
 * terms of the Academic Free License ("AFL") v. 3.0,
 * as published by the Open Software Initiative.  A
 * copy of this license is provided in this source
 * release, and may be viewed online at:
 *
 * (http://www.opensource.org/licenses/afl-3.0.php)
 * for licensing information, contact alex@alexsaintcroix.com;
 */
package org.eremite.corm.product;

import java.util.Date;

public class ServiceInstance extends ProductInstance {
    private Date start;
    private Date end;
    private Date scheduledStart;
    private Date scheduledEnd;
    private int serviceDeliveryStatus;
    private ServiceType serviceType;

    public ServiceInstance() {}

    public ServiceInstance(ServiceType type) {
        setProductType(type);
        this.setServiceType(type);
    }

    public Date getStart() {
        return start;
    }

    public void setStart(Date start) {
        this.start = start;
    }

    public Date getEnd() {
        return end;
    }

    public void setEnd(Date end) {
        this.end = end;
    }

    public Date getScheduledStart() {
        return scheduledStart;
    }

    public void setScheduledStart(Date scheduledStart) {
        this.scheduledStart = scheduledStart;
    }

    public Date getScheduledEnd() {
        return scheduledEnd;
    }

    public void setScheduledEnd(Date scheduledEnd) {
        this.scheduledEnd = scheduledEnd;
    }

    public int getServiceDeliveryStatus() {
        return serviceDeliveryStatus;
    }

    public void setServiceDeliveryStatus(int serviceDeliveryStatus) {
        this.serviceDeliveryStatus = serviceDeliveryStatus;
    }

    public ServiceType getServiceType() {
        return serviceType;
    }

    public void setServiceType(ServiceType serviceType) {
        this.serviceType = serviceType;
        setProductType(serviceType);
    }
}
